#include "track.hpp"
#include <cassert>
#include <list>

void Track::addTrain(int id) {
    trains.push_back(id);
}

void Track::removeFirstTrain(DIRECTION direction){
    
}

void Track::update() {
    // if (trains == nullptr) {
    //     return;
    // }
    // list_node_t *currentNode = trains->tail;
    // for (int i = 0; i < trains->len; ++i) {
    //     Train *currentTrain = static_cast<Train *>(currentNode->val);
    //     Train *prevTrain = nullptr;
    //     list_node_t *prevNode = currentNode->prev;

    //     if (prevNode ==
    //         nullptr) { // 如果是第一个火车，就判断距离轨道的终点的距离
    //     } else {       // 如果不是第一个火车，就判断与前车车尾的距离
    //         prevTrain = static_cast<Train *>(prevNode->val);

    //         assert(0); // TODO
    //     }
    //     currentTrain->update(prevTrain);
    //     currentNode = currentNode->prev;
    // }
}
